/* Copyright (c) 2004-2024 Peigen.info. All rights reserved. */

package info.peigen.hotpot.component.gateway.dianlan.facade.command.order;

import info.peigen.hotpot.component.gateway.dianlan.facade.command.order.base.AbstractDianlanServiceOrder;
import info.peigen.hotpot.component.gateway.dianlan.facade.enums.DianlanRemoteStartChargeFailReason;
import info.peigen.hotpot.component.gateway.dianlan.facade.enums.DianlanSuccessSign;
import lombok.AccessLevel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import lombok.experimental.FieldDefaults;
import lombok.experimental.SuperBuilder;

/**
 * <b>(DianlanStubStopChargeOrder)</b>
 *
 * @author czj
 * @version 1.0.0
 * @since 2022/11/17
 */
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
@Data
@NoArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
@Accessors(chain = true)
public class DianlanStubChargeResponseOrder extends AbstractDianlanServiceOrder {
    /** 交易流水号 */
    String                             transNo;
    /** 桩编码 */
    String                             stubNo;
    /** 充电枪号 */
    String                             chargingPortNo;
    /** 启动结果 */
    DianlanSuccessSign                 authSign;
    /**
     * 失败原因
     * <p>
     * 桩在收到启充命令后,检测到未插枪则发送 0x33 报文回复充电失败。
     * 若在 60 秒（以收到 0x34 时间开始计算）内检测到枪重新连接，则补送 0x33 成功报文;
     * 超时或者离线等其他异常，桩不启充、不补发 0x33 报文
     */
    DianlanRemoteStartChargeFailReason failReason;

}
